#ifndef _MYWINDOW_H
#define _MYWINDOW_H

class KeyboardInterface;
class MouseInterface;

class Scene;

class MyWindow {
public:
    virtual ~MyWindow() {}

    virtual bool create(int width, int height, int bpp, bool fullscreen) = 0;
    virtual void destroy() = 0;
    virtual void processEvents() = 0;
    virtual void attachScene(Scene* scene) = 0;
    virtual bool isRunning() = 0;
    virtual void swapBuffers() = 0;
    virtual float getElapsedSeconds() = 0;
    virtual KeyboardInterface* getKeyboard() const = 0;
    virtual MouseInterface* getMouse() const = 0;
};

#endif // _MYWINDOW_H
